---
title: Installing Java for PXF
---

PXF is a Java service. It requires a Java 8 or Java 11 installation on each Greenplum Database host.


## <a id="prereq"></a>Prerequisites

Ensure that you have access to, or superuser permissions to install, Java 8 or Java 11 on each Greenplum Database host.

## <a id="proc"></a>Procedure

Perform the following procedure to install Java on the master, standby master, and on each segment host in your Greenplum Database cluster. You will use the `gpssh` utility where possible to run a command on multiple hosts.

1. Log in to your Greenplum Database master node:

    ``` shell
    $ ssh gpadmin@<gpmaster>
    ```

2. Determine the version(s) of Java installed on the system:

    ``` pre
    gpadmin@gpmaster$ rpm -qa | grep java
    ```

3. If the system does not include a Java version 8 or 11 installation, install one of these Java versions on the master, standby master, and on each Greenplum Database segment host.

    1. Create a text file that lists your Greenplum Database standby master host and segment hosts, one host name per line. For example, a file named `gphostfile` may include:

        ``` pre
        gpmaster
        mstandby
        seghost1
        seghost2
        seghost3
        ```
    2. Install the Java package on each host. For example, to install Java version 8:

        ``` shell
        gpadmin@gpmaster$ gpssh -e -v -f gphostfile sudo yum -y install java-1.8.0-openjdk-1.8.0*
        ```

4. Identify the Java 8 or 11 `$JAVA_HOME` setting for PXF. For example:

    If you installed Java 8:

    ``` shell
    JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.x86_64/jre
    ```

    If you installed Java 11:
    
    ``` shell
    JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.4.11-0.el7_6.x86_64
    ```

    If the superuser configures the newly-installed Java alternative as the system default:

    ``` shell
    JAVA_HOME=/usr/lib/jvm/jre
    ```

5. Note the `$JAVA_HOME` setting; you will need this value when you configure PXF.

